<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
    <script>
        var arr = [10, 20, 4, 50, 60, 75, 3];
        var num = 0;
        // for(var i=0;i<arr.length;i++){
        //     num += arr[i];
        // }
        // console.log(num);


        var num2 = arr.reduce(function(result,ele,index){
            console.log(result,ele,index);
            return result + ele;
        },0);

        console.log(num2);
        
        /*
            arr.reduce(callback[,initValue])
                对数组中的每一个元素执行callback函数，将结果根据callback函数中的条件，返回单个值。
                - callback ：执行的函数
                    - result 结果
                    - ele ：当前正在循环的元素
                    - index ：当前正在循环的元素对应的索引值

                - initValue 可选。对于result进行初始化；


                10 20 1
                undefined 4 2
                undefined 50 3
                undefined 60 4
                undefined 75 5
                undefined 3 6

                undefined的出现是因为我们没有把结果return给result接受
        */


    </script>
</body>
</html>